#pragma once

#include "Global.h"

enum spriteType{ NORMAL, INFECTED, CARRIER } ;

class Sprite
{
public:
	Sprite( ) ;
	~Sprite( ) ;

	struct Adj
	{
		Sprite* top ;
		Sprite* bottom ;
		Sprite* left ;
		Sprite* right ;
	} ;

	int checkTag( ) { return tag ; }

	bool isNewlyInfected( ) { return justInfected ; }
	void updateInfected( ) { justInfected = false ; }

	void InfectionCheck( Sprite* target, int rate ) ;
	void CureCheck( int rate ) ;
	void ResetSprite( ) ;
	void TurnSprite( ) ;
	void FindAdjacent( Sprite& other ) ;

	D3DXVECTOR3 position ;
	Adj* sprAdj ;
private:
	int tag ;
	bool justInfected ;
} ;